package com.py.framework.core.base.service;

import java.io.IOException;
import java.util.List;
import java.util.Map;

import com.py.framework.core.common.OptionalColumn;
import com.py.framework.core.common.Page;

public interface BaseService<T> {

	List<T> getListForPage(Map<String, Object> params, Page page);

	List<OptionalColumn> getOptionalColumns();

	List<OptionalColumn> getAdvancedOptionalColumns();

	void write2Excel(Map<String, Object> params, String condition, String columnEN, Page page, String fileName,
			String sheetName) throws IOException;

	void addShowColumns(String[] columns, String suffix);

	List<T> getListByConditionForPage(Map<String, Object> params, String condition, Page page, String tableId);

	T select(String id);

	void add(T record);

	void delete(String id);

	void update(T record);

}
